function onece(fn) { // 如何给js添加自定义事件，EventEmitter

    let done = false;
    return function(...args) {
        if(!done) {
            // console.log('args',args);
            // console.log('this',this);
            fn.call(this,...args); // 使用apply绑定函数到当前 context , apply 与 call 的区别是 apply 接收一个数组
            done = true;
        }
        
        
    }

}

const fn = onece( (...props) => {

    console.log(props);
})

fn('daxia');
fn('daxia');
fn('daxia');
